home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / include / asm / thread_notify.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.2 KB  |  49 lines

  1. /*
  2.  *  arch/arm/include/asm/thread_notify.h
  3.  *
  4.  *  Copyright (C) 2006 Russell King.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #ifndef ASMARM_THREAD_NOTIFY_H
  11. #define ASMARM_THREAD_NOTIFY_H
  12.  
  13. #ifdef __KERNEL__
  14.  
  15. #ifndef __ASSEMBLY__
  16.  
  17. #include <linux/notifier.h>
  18. #include <asm/thread_info.h>
  19.  
  20. static inline int thread_register_notifier(struct notifier_block *n)
  21. {
  22.     extern struct atomic_notifier_head thread_notify_head;
  23.     return atomic_notifier_chain_register(&thread_notify_head, n);
  24. }
  25.  
  26. static inline void thread_unregister_notifier(struct notifier_block *n)
  27. {
  28.     extern struct atomic_notifier_head thread_notify_head;
  29.     atomic_notifier_chain_unregister(&thread_notify_head, n);
  30. }
  31.  
  32. static inline void thread_notify(unsigned long rc, struct thread_info *thread)
  33. {
  34.     extern struct atomic_notifier_head thread_notify_head;
  35.     atomic_notifier_call_chain(&thread_notify_head, rc, thread);
  36. }
  37.  
  38. #endif
  39.  
  40. /*
  41.  * These are the reason codes for the thread notifier.
  42.  */
  43. #define THREAD_NOTIFY_FLUSH    0
  44. #define THREAD_NOTIFY_RELEASE    1
  45. #define THREAD_NOTIFY_SWITCH    2
  46.  
  47. #endif
  48. #endif
  49.